Low Speed and High Speed Controller Architecture for Electric Motors

ABSTRACT

A motor controller architecture and method of operating the same. The motor controller includes a function for estimating the low speed operation of the motor, for example by evaluating the response to a periodic excitation signal injected into the control loop of the controller architecture. A periodic excitation signal in the form of a square wave allows for analysis of the response of the motor without requiring demodulation, which allows the frequency of the excitation signal to be above the audible range. Control logic for controlling the motor at transitional speeds between low speed control and high speed (back emf) control is provided in some embodiments.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority, under 35 U.S.C. §119(e), ofProvisional Application Nos. 61/881,714 and 61/881,730, both filed Sep.24, 2013, and both incorporated herein by this reference. Thisapplication is also a continuation-in-part, under 35 U.S.C. §120, ofcopending application Ser. No. 14/245,206, filed Apr. 4, 2014,incorporated herein by this reference, which claims priority, under 35U.S.C. §119(e), of Provisional Application No. 61/819,267, filed May 3,2013, also incorporated herein by this reference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

BACKGROUND OF THE INVENTION

This invention is in the field of control systems for electric machines.Embodiments described in this specification are more specificallydirected to control of alternating current (AC) electric motorsoperating at low speed.

Even more than a century after their introduction, AC electric motorscontinue to enjoy widespread deployment to this day, over a wide rangeof applications and sizes. AC motors have become especially popular dueto their reliability and relatively low cost. Recently, modernhigh-speed and low-cost programmable microcontrollers have enabledcomplex motor control algorithms that can now control AC motors toattain increased efficiency in complex commercial, industrial, andconsumer equipment and processes. For example, these control algorithmsprovide the ability to operate AC motors at variable speeds, which insome applications allows for the elimination of complex gears andtransmissions in the driven mechanical system. These new controlalgorithms can also enhance the performance/cost ratio of the motorsystem, and increase load efficiencies, and maximize the torque perampere performance of the motor, thus saving significant power.

Field-oriented control (“FOC”) has become a common technique in modernmotor control systems. According to this approach, the stator windingsof the AC motor are driven, for example by pulse-width-modulation, insuch a way as to maximize the torque/ampere performance of the motor.For the case of permanent magnet rotors, FOC seeks to drive the fieldflux vector angle so that the rotor flux angle is 90° out of phase fromthe field flux, which is at the maximum torque condition.

Field-oriented control of AC motors is complicated because the rotationof the magnetic field in the stator with respect to the rotatingmagnetic field of the rotor can be asynchronous. As such, AC inductionmotor operation is characterized by a set of differential equations withtime varying coefficients. The well-known “Park” transform, on whichmany AC motor control algorithms are based, transforms thosedifferential equations into a set of differential equations that havetime invariant coefficients. In particular, the Park transform considersmotor operation according to a two-dimensional (d, q) coordinate system,where axis d is aligned with the field flux linkage component andorthogonal axis q is aligned with the torque component. By separatingthe field flux linkage and torque components, the motor torque can becontrolled without affecting the field flux, allowing for dynamic torquecontrol, proportional-and-integral (PI) control algorithms, and thelike. Typical FOC control loops for AC motors also utilize thewell-known Clarke transform to transform the three-phase time variantsystem of differential equations into a two coordinate time variantsystem, which the Park transform converts into the (d, q) coordinatesystem.

As fundamental in the art, closed loop control of AC motors requiresknowledge of the current state of the motor, typically including theposition and velocity of the rotor. Mechanical transducers, such asencoders and the like, have been used for years to sense the positionand velocity of the rotor shaft in conventional electric motors.However, as is well known in the art, these sensors and associatedwiring and connectors add significant cost and complexity in the motorand its control system, and are prone to inaccuracy and mechanicalfailure. To address these concerns, sensorless motor control techniqueshave been developed in the art. Sensorless induction motor control iscommonly implemented by estimating the back electromagnetic forceinduced in the stator windings by the rotation of the rotor, from whichthe rotor position and velocity can be determined.

FIG. 1 illustrates a conventional controller architecture forcontrolling the operation of an AC motor. As well-known in the art andas discussed above, feedback control loops based on the Park transformoperate according to reference signals in the direct (d) and quadrature(q) phases, shown in the example of FIG. 1 by reference currents Idrefand Iqref, respectively. In the direct phase leg of the loop, errorgenerator 2 d receives direct phase reference current Idref and afeedback current Id, and forwards error signal εd corresponding to thedifference of those two currents to proportional-integral (PI)controller 4 d. PI controller 4 d applies error signal εd to aconventional control function, which in this case is based on a sum ofproportional and integral terms involving error signal εd; other controlfunctions may alternatively be used, including PID(proportional-integral-differential) functions and the like. PIcontroller 4 d produces direct phase control signal Vd, which is inputto inverse Park transform function 6. The quadrature phase leg of thisconventional control loop is similarly arranged, with error generator 2q receiving quadrature phase reference current Iqref and feedbackcurrent Iq, and forwarding error (i.e., difference) signal εq toproportional-integral (PI) controller 4 q, which in turn applies aconventional control function (e.g., proportional-integral) to producequadrature phase control signal Vq for input to inverse Park transformfunction 6. As conventional in the art, inverse Park transform function6 produces spatially fixed α and β phase control signals Vα, Vβ bytransforming the d and q phase control signals. Control signals Vα, Vβare in turn applied to conventional space vector/pulse-width modulation(PWM) function 8, which produces three-phase PWM drive signals PWM(a, b,c) at the desired duty cycles and phase timing for motor phases a, b, c,respectively. Three-phase inverter 10 is a conventional power functionthat drives three stator windings of motor M using DC voltage Vdc,according to PWM drive signals PWM(a, b, c).

The feedback loop in this conventional architecture is based on currentsin each of the stator windings, as sensed by conventional currentsensors 11 and communicated as current signals Ia, Ib, Ic for the threemotor phases. As shown in FIG. 1, current sensors 11 operate to estimatethe back emf induced in the stator windings by the rotation of the rotorof motor M; this sensed back emf can be used to determine the positionand velocity of the rotor during operation of motor M. These sensedcurrents Ia, Ib, Ic are typically sampled and digitized, andcommunicated to Clarke transform function 12 for conversion intospatially fixed α and β phase feedback signals Ia, Ib, which are appliedto Park transform function 14 to produce d and q phase feedback signalsId, Iq, respectively. These feedback signals Id, Iq are applied to errorgenerators 2 d, 2 q, respectively, as discussed above, closing thecontrol loop. Accordingly, the architecture of FIG. 1 controls theoperation of motor M according to the input reference currents Idref andIqref.

Accurate estimation of rotor position and velocity requires a back emfsignal of adequate magnitude and fidelity. Because back emf isproportional to rotor speed, the motor must be operating at a sufficientspeed to produce a back emf having an acceptable signal-to-noise ratio.As such, conventional sensorless motor control is not well-suited forlow speed control of AC motors. However, certain new AC motorapplications require low speed control. For example, washing machinemotors must drive an agitation cycle in which the motor operates at lowRPM and reverses direction, under heavy load. Variable-speed motorcontrol of this low-speed agitation cycle, and similar cycles, caneliminate the complex gearing and transmission that is otherwiserequired in modern washing machines. So-called “e-bikes”, which arebicycles that include integrated motors to assist in propulsion, provideanother application in which low-speed closed loop motor control isdesirable, considering that e-bike motors necessarily drive loads atrelatively low speeds over significant portions of their operating time.

By way of further background, sensorless initial position detection(“IPD”) techniques are known in the art. One class of these techniqueuses the inherent saliency (i.e., the extent to which induction isdependent on rotor position) of the electric motor to produce a signalfrom which rotor position may be deduced. These conventional IPDtechniques inject a high frequency carrier signal into the statorreference voltage signal. The response of the stator windings to thesehigh frequency components, as reflected in stator feedback current, isthen evaluated by a processor in the motor control system to determinethe position of the rotor.

BRIEF SUMMARY OF THE INVENTION

One or more of the disclosed embodiments provide a controllerarchitecture and corresponding control method capable of accurate lowspeed control of electric machines, such as an AC electric motor.

One or more of the disclosed embodiments provide such an architectureand method that can be efficiently implemented into existing controlloops without adding excessive computational complexity.

One or more of the disclosed embodiments provide such an architectureand method capable of such control in a manner that is inaudible tohuman users of the electric machine.

One or more of the disclosed embodiments provide such an architectureand method that is useful in AC motors of both the permanent magnet andinduction (asynchronous) type.

Other objects and advantages of the disclosed embodiments will beapparent to those of ordinary skill in the art having reference to thefollowing specification together with its drawings.

According to certain embodiments, a control architecture for an electricmachine, and a corresponding control method, may be implemented by thecombination of a high speed control loop and a low speed control loop.The high speed control loop may be constructed as a conventional senseand control function, for example by way of a field-oriented controller(FOC) operating according to sensed back emf from an AC electric motor.The low speed control loop is based on sensorless initial positiondetection by way of a high frequency signal injected into either or bothof the direct and quadrature phase control signals. A low speed stateestimator in the low speed control loop derives position and velocityestimates from sensed response of the machine to the injected signal;those low speed estimates are included in the FOC control loop tocontrol the machine under low RPM conditions.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is a functional block diagram of a conventional motor controllerarchitecture.

FIG. 2 is a block diagram of a motor controller architecture accordingto an embodiment.

FIG. 3 is a functional block diagram of a digital portion of amicrocontroller architecture for motor control according to theembodiment of FIG. 2.

FIG. 4 is a flow diagram illustrating an example of the operation of thearchitecture of the embodiments of FIGS. 2 and 3.

FIG. 5 is a functional block diagram of a digital portion of amicrocontroller architecture for motor control according to anotherembodiment.

FIG. 6 is a functional block diagram of the angle/frequency selector inthe architecture of FIG. 5 according to that embodiment.

FIGS. 7 and 8 are flow diagrams illustrating an example of the operationof the architecture of the embodiment of FIGS. 5 and 6.

FIG. 9 is a plot of voltage versus operating condition illustratingresults of the operation shown in FIGS. 7 and 8, according to thatembodiment.

DETAILED DESCRIPTION OF THE INVENTION

The one or more embodiments described in this specification areimplemented into a control system for an AC induction motor, as it iscontemplated that such implementation is particularly advantageous inthat context. However, it is also contemplated that concepts of thisinvention may be beneficially applied to in other applications, forexample other types of AC and DC motors, including permanent magnet (PM)motors, and other AC and DC electric machines. Accordingly, it is to beunderstood that the following description is provided by way of exampleonly, and is not intended to limit the true scope of this invention asclaimed.

FIG. 2 illustrates, in the form of a block diagram, an example of afield-oriented control (FOC) control system for an electric machine,according to an embodiment. In the example of FIG. 2, the electricmachine under control of this system is AC induction motor M, which hasthree stator windings arranged 120° out of phase relative to one anotherin the conventional manner. As will be apparent to those skilled in theart having reference to this specification, other types of motors andother electric machines may be controlled according to the disclosedembodiments, including PM motors, DC motors, and the like; further inthe alternative according to the disclosed embodiments, other types ofcontrol algorithms including scalar control techniques may beimplemented in place of the vector, or FOC, control algorithm.

As shown in FIG. 2, much of the control architecture is implemented byprogrammable microcontroller integrated circuit (MCU) 20. Thisimplementation enables many of the calculations and control loopfunctions to be carried out in the digital domain. Examples ofintegrated circuits suitable for use as MCU 20 according to theseembodiments include microcontrollers in the C2000 and MSP430 familiesavailable from Texas Instruments Incorporated. In the example of FIG. 2,MCU 20 includes microcontroller processor unit 22, which receives directphase reference current signal Idref and motor speed input signal {dotover (θ)}ref from external to MCU 20, along with feedback signals frommotor M as will be described below. Processor unit 22 is coupled toprogram memory 24, which stores program instructions for retrieval andexecution by processor unit 22 upon the received reference and feedbacksignals; according to this embodiment, the program instructions storedin program memory 24 cause processor unit 22 to perform the variouscontrol functions described in this specification. The result of thisprogram execution by processor unit 22 are three-phase data signals Ta,Tb, Tc that are indicative of the pulse-width-modulation duty cycles atwhich the three phases (i.e., phases a, b, c, respectively) of motor Mare to be driven. Data signals Ta, Tb, Tc are applied to PWM drivers 25in MCU 20, which in turn generates the appropriate control signals thatare applied to power driver circuits 16, which in turn generates thecorresponding pulse-width-modulated pulses on lines PWM(a, b, c), at theappropriate frequency and phase, that drive three-phase inverter 10 andthus motor M.

The feedback side of the control system of FIG. 2 includes currentsensors 11 that are disposed at motor M, and that in this example senseelectrical conditions at each of the stators of motor M. As will beevident in the following description for this embodiment, theseelectrical conditions correspond to the measured current in the statorwindings of motor M, or a voltage indicative of the inductance of statorwindings as a function of rotor position or rotor angle (the terms“rotor position” and “rotor angle” are used synonymously in thisdescription). These sensed electrical parameters are, in this example,communicated to current circuits 18, which are conventional analogcircuits for generating current signals Ia, Ib, Ic for respective phasesa, b, c of motor M. Current signals Ia, Ib, Ic are forwarded toanalog-to-digital-converters (ADCs) 26 in MCU 20, for sampling (at thefrequency of sample clock t_(s)) and conversion to digital data values.Those digital sample values are then applied to processor unit 22 forprocessing according to the control algorithm expressed in programinstructions stored in program memory 24, described in further detailbelow, responsive to which the drive signals to be applied to motor Mare generated.

In the example of FIG. 2, PWM drivers 25 and ADCs 26 are implementedwithin MCU 20, i.e. in the same integrated circuit as processor unit 22.This integration of PWM drivers 25 and ADCs 26 thus follows thearchitecture of the C2000 MCUs noted above. Alternatively, PWM drivers25 and ADCs 26 may be implemented “off-chip” relative to processor unit22, as known in the art. Additionally, the example of FIG. 2 illustratesprogram memory 24 as also integrated into the same integrated circuit asprocessor unit 22; alternatively, program memory 24 may of course beimplemented in a separate integrated circuit if desired. In any case, itis contemplated that such other functions and interfaces of MCU 20,beyond those shown in FIG. 2, will be realized as known in the art, forexample with the C2000 and MSP430 MCU architectures noted above.

Further in the alternative, the functions of MCU 20 may be realized inother architectures, and are not necessarily implemented by aprogrammable logic device. It is contemplated that those skilled in theart having reference to this specification will be readily able toimplement the controller functions described herein according to thecircuitry desired for particular implementations.

FIG. 3 illustrates the functional architecture of a field-orientedcontrol (FOC) motor control system as may be implemented in the hardwarearchitecture of FIG. 2 according to an embodiment, as will now bedescribed. The architecture of FIG. 3 is in part similar to theconventional field oriented control (FOC) architecture discussed aboverelative to FIG. 1. In the FOC context, error generator 32 d receivesdirect phase reference current Idref and feedback current Id, andforwards error signal εd corresponding to the difference of those twocurrents to proportional-integral (PI) controller 34 d. PI controller 34d in turn applies a conventional control function, for example acombination of proportional and integral functions, to error signal εdto produce direct phase control signal Vd for application to inversePark transform function 36. For the quadrature phase, error generator 32q receives quadrature phase reference current Iqref (generated by speedcontroller 40 as described below) and feedback current Iq, and applies acorresponding error signal εq to proportional-integral (PI) controller34 q, which in turn applies a conventional control function (e.g.,proportional-integral) to produce quadrature phase control signal Vq forapplication to inverse Park transform function 36. As discussed above,other control functions may alternatively be implemented in controllers34 d, 34 q, for example PID control (i.e., proportional, integral, anddifferential terms). Inverse Park transform function 36 transforms the dand q phase control signals Vd, Vq to spatially fixed α and β phasecontrol signals Vα, Vβ, and applies those signals to space vectorgenerator 38, which produces three-phase data signals Ta, Tb, Tc appliedto PWM drivers 25 (FIG. 2). Data signals Ta, Tb, Tc, from space vectorgenerator 38 express duty cycles (i.e., pulse widths) for theircorresponding phases, and are converted by PWM driver into pulsesapplied to the stator windings of motor M.

The feedback side of the control loop in this architecture receivessensed current sample streams Ia(n), Ib(n), Ic(n), associated with thethree motor phases, as produced by ADCs 26 based on the electricalparameters sensed by sensors 11 (FIG. 2) and communicated via currentcircuits 18. These sample streams Ia(n), Ib(n), Ic(n) represent currentsinduced in the stator windings by the rotor of motor M as it rotates,from which back emfs in those windings can be determined, reflecting themotor operating speed. Sample streams Ia(n), Ib(n), Ic(n) are applied toClarke transform function 37 for conversion into spatially fixed α and βphase feedback signals Iα, Iβ, which in turn are applied to Parktransform function 39 to produce d and q phase feedback signals Id, Iq,respectively. These feedback signals Id, Iq are applied to errorgenerators 32 d, 32 q, respectively, as discussed above.

The portion of the control architecture of FIG. 3 described so faraccomplishes the control function when motor M is operating atrelatively high-speeds, specifically at a rotational speed or frequencysufficient to generate an adequate back emf signal at sensors 11 (FIG.2). As discussed above, the back emf signals are not sufficiently strong(i.e., have a sufficient signal-to-noise ratio) at low speed operationto accurately indicate the speed of the rotor of motor M.

According to the disclosed embodiments, the functional architecture ofFIG. 3 implements the capability of attaining low-speed control, so thatmotor M can be accurately controlled at rotational speeds down to zeroRPM, and under operating conditions in which the direction of rotationchanges (i.e., “through” zero RPM), such as in the agitation cycle of awashing machine. According to the functional architecture of FIG. 3,which in the example of FIG. 2 is implemented in processor unit 22 underthe control of program instructions stored in program memory 24, thislow speed control function is performed by the functions of speedcontroller 40 and low speed state estimator 42.

According to this embodiment, speed controller function 40 implements acontrol function that receives motor speed input signal {dot over(θ)}ref from external to MCU 20, and velocity estimate signal {dot over(θ)}(n) from low speed state estimator 42. The particular controlfunction implemented by speed controller 40 may be aproportional-integral control function applied to a difference (i.e.,error signal) between motor speed input signal {dot over (θ)}ref andvelocity estimate signal {dot over (θ)}(n), or such other controlfunction as may be used. Based on its control function and the speedinput signal {dot over (θ)}ref and velocity estimate signal {dot over(θ)}(n), speed controller 40 generates quadrature phase referencecurrent signal Iqref that is applied to error generator 32 q, from whicherror signal εq is produced.

Low speed state estimator 42 carries out an initial position detection(IPD) function, in which the response of motor M to an excitation signalis analyzed to determine its instantaneous position. As described incopending and commonly assigned application Ser. No. 14/245,206, filedApr. 4, 2014 and incorporated herein by this reference, measurement ofthe response of motor M to a high-frequency signal injected into thepulse-width-modulated drive signals can provide an indication of rotorposition and velocity, even at low speed or when stopped. This techniqueis based on the salience (i.e., position-dependent induction) of themotor, for example as may be due to spatially-variant reluctance of themotor, or spatial variations of gap spacing between the stators and therotor. Knowledge of the excitation waveform and these characteristics ofthe motor enables the response of the motor to the high-frequencyexcitation signal to yield position information.

Low speed state estimator 42 in this architecture implements the IPDfunction by generating an excitation signal Vd_exc that modulates the dphase control signal Vd from controller 34 d, prior to its applicationto inverse Park transform function 36. When implemented in the digitaldomain, such as in the architecture of FIG. 2, the excitation signalVd_exc is in the appropriate digital form as to insert a signal of thedesired magnitude along with the d phase control signal Vd whenpulse-width modulated by space vector generator 38 and PWM drivers 26.It is contemplated that the frequency of the pulse-width-modulatedsignal component indicated by excitation signal Vd_exc will besignificantly higher (e.g., at least an order of magnitude greater) thanthe frequency reflected by d phase control signal Vd (i.e., the fieldflux frequency applied by the stator windings of motor M), and at a muchlower amplitude (e.g., two orders of magnitude lower). While the exampleof FIG. 3 shows excitation signal Vd_exc as applied to d phase controlsignal Vd, an excitation signal Vq_exc may alternatively, oradditionally, be applied to q phase control signal Vd, as suggested bythe dashed line in FIG. 3. And while excitation signals Vd_exc, Vq_excare expressed as voltages in this example, the injected excitationsignals may alternatively be implemented as current components.

These high frequency excitation signals Vd_exc, Vq_exc that aretransformed and injected into the pulse-width-modulated drive signalsPWM(a,b,c) induce a response by motor M that can be sensed from sensors11, and from which the instantaneous position of the rotor can bededuced based on the position-dependent inductance of the rotor of motorM. This response is communicated to low speed state estimator 42 ascomponents of d and q phase feedback signals Id, Iq generated by Parktransform 39 (via ADCs 26 and Clarke transform 37) from those sensedresponse signals, which in turn recovers estimates of rotor angle androtor velocity, according to these embodiments.

In the digital implementation example discussed above relative to FIG.2, low speed state estimator 42 constitutes a software functionperformed by processor unit 22 executing corresponding programinstructions stored in program memory 24, to perform the appropriateoperations on the d and q phase feedback signals Id, Iq to recover anrotor angle estimate signal stream θ(n) and an rotor velocity estimatesignal stream {dot over (θ)}(n), both signal streams continuing overtime as additional samples are acquired and processed.

As described in the above-incorporated copending application Ser. No.14/245,206, low speed state estimator 42 may be implemented as a“Luenberger observer” which, as known in the art, corresponds to asystem that operates to iteratively reduce an angle estimate θ to matchthe rotor angle θ_(R), thus recovering current values of rotor angleestimate θ(n) and rotor velocity estimate {dot over (θ)}(n).Alternatively, as mentioned in copending application Ser. No.14/245,206, other approaches may be used for determining rotor angleestimate θ(n) and rotor velocity estimate {dot over (θ)}(n), includingmore computationally intensive calculations (which may requireadditional knowledge regarding the inductance variation of motor M).

The rotor angle estimate θ(n) sample stream generated by low speed stateestimator 42 is applied to inverse Park transform function 36 for itsuse in generating spatially fixed α and β phase control signals Vα, Vb,and are also applied to Park transform function 39 for its use ingenerating spatially fixed α and β phase feedback signals Iα, Ib. Rotorvelocity estimate {dot over (θ)}(n) is applied to speed controller 40,as shown in FIG. 3 and discussed above, for application to its controlfunction and the generation of quadrature phase reference current Iqrefthat is applied to error generator 32 q, from which the torque componentof the PWM drive signals are generated.

FIG. 4 illustrates the operation of the motor control architecture ofFIGS. 2 and 3, by way of a generalized flow diagram. As discussed above,when carried out in the digital domain by processor unit 22, it iscontemplated that this motor control process will be performed in adiscrete time manner, based on sample streams representative of thevarious input, control, and feedback signals. Alternatively, this motorcontrol process may be carried out, in part or in whole, in the analogdomain to the extent that this architecture is implemented by analogcircuitry.

In process 50, speed controller 40 generates quadrature phase referencecurrent Iqref from a received motor speed input signal {dot over(θ)}ref, which may correspond to an input from a user of a machine inwhich motor M is implemented, or to the output of a control function(e.g., another microcontroller unit) that determines the desired speedat which motor M is to be driven. Under low speed operation, as will bediscussed below, speed controller 40 also receives and responds tovelocity estimate signal {dot over (θ)}(n), in its generation ofquadrature phase reference current Iqref.

In process 52, direct phase feedback signal Id is subtracted from directphase reference current Idref by error generator 32 d, and quadraturephase feedback signal Iq is subtracted from quadrature phase referencecurrent Iqref by error generator 32 q, to produce corresponding directand quadrature phase error signals εd, εq, respectively. As fundamentalin the control systems art, these direct and quadrature phase errorsignals εd, εq reflect the differences, for the field flux and torquecomponents, between the desired and current operating conditions ofmotor M. Control functions are applied to these error signals εd, εq inprocess 54, by PI controllers 34 d, 34 q of FIG. 3, to produce controlvoltages Vd, Vq. The control functions applied in process 54 amount tothe desired filtering and other shaping appropriate for the controlloop, as known in the art.

According to these embodiments, a high-frequency excitation signal isinjected into either or both of control voltages Vd, Vq in process 53;alternatively, if the control loop is implemented with reference tocurrent signals, the excitation signals injected in process 53 may beexpressed as currents. Considering that the quadrature phase controlvoltage signal Vq is reflective of the desired adjustment in the torquecomponent of the applied electric field, it is contemplated that theexcitation signal will typically be applied only to direct phase controlvoltage Vd; as noted above, the excitation signals may alternatively bequadrature phase-only or complex, if desired. As also noted above, thefrequency indicated by excitation signals Vd_exc, Vq_exc will besignificantly higher than the frequency reflected by d phase controlsignal Vd (i.e., the field flux frequency applied by the stator windingsof motor M), and at a much lower amplitude. In particular, it is desiredthat the injected excitation signal not have a significant component orharmonic within the bandwidth of the motor drive; rather, excitationsignals Vd_exc, Vq_exc should be at a sufficiently high frequency as tonot affect the physical operation of motor M, preferably withsignificant separation between the bandwidth of the excitation and drivesignals.

In any case, according to these embodiments, excitation signals Vd_exc,Vq_exc are injected into the reference frame that is aligned with themagnetic field of the rotor. For the case of a permanent magnet (PM)motor, the magnetic field of the rotor and the magnetic field of thestator are synchronous with one another and constitute the synchronousframe into which the excitation signals Vd_exc, Vq_exc are injected. ForAC induction motors, the magnetic field of the rotor and the magneticfield of the stator are slightly misaligned due to the slip needed toinduce the magnetic field in the rotor. As a result, the (d, q) frame,into which excitation signals Vd_exc, Vq_exc are injected, is alignedwith the induced magnetic field of the rotor.

The excitation signals Vd_exc, Vq_exc injected by process 53 may expressany one of a number of various waveform shapes. For example, excitationsignals Vd_exc, Vq_exc may correspond to sinusoids at the desiredfrequency and amplitude. However, it has been discovered that thewaveform shape can affect the calculations required of low speed stateestimator 42 to derive the rotor angle estimate θ(n) and rotor velocityestimate {dot over (θ)}(n). For example, sinusoidal excitation signalsVd_exc, Vq_exc require low speed state estimator 42 to demodulate thefeedback signals in order to recover rotor angle and velocity.Therefore, according to some embodiments and as described in copendingapplication Ser. No. 14/245,206, excitation signals Vd_exc, Vq_exc arein the form of square waves, which eliminates the need for demodulationat low speed state estimator 42. In addition, because demodulation ofthe response signals is avoided by injecting square wave excitationsignals, low speed state estimator 42 can execute at much higher clockrates than if demodulation were required. This higher execution rate oflow speed state estimator 42 in turn allows excitation signals Vd_exc,Vq_exc to be at higher frequencies yet, including at frequencies outsideof the human-audible range. Especially for consumer equipment such aswashing machines and e-bikes, this allows the injection of excitationsignals Vd_exc, Vq_exc to not be audible to the user.

Control signals Vd, Vq, after modification by the injection ofexcitation signals Vd_exc, Vq_exc, respectively, are then transformedinto the α-β reference frame by inverse Park transform function 36 inprocess 55, and applied to space vector generator function 38 for thegeneration of three-phase data signals Ta, Tb, Tc in process 56. PWMdrivers 26, power driver circuits 16, and three-phase inverter 10 drivethe stator windings of motor M with pulse-width-modulated pulsesaccording to the duty cycles indicated by data signals Ta, Tb, Tc, inprocess 58, causing rotation of the rotor in motor M according to thecontrol signals.

The feedback loop of the motor control process of FIG. 4 is carried outbased on the sensing of electrical parameters, namely voltages orcurrents in the stator windings, by sensors 11 in process 60. As knownin the art, these sensed parameters are indicative of the back emfinduced by rotation of the rotor, at least at relatively high rotationalspeeds; according to these embodiments, these sensed parameters alsoreflect position-dependent variances in inductance in response toexcitation signals Vd_exc, Vq_exc injected in process 53. In any case,in the example of FIGS. 2 and 3, the sensed parameters are converted tocurrents and sampled by ADCs 26, also in process 60. In process 62, thesample stream of sensed currents are subjected to a Clarke transform byfunction 37, and the result subjected to a Park transform by function 39in process 64 to produce feedback signals Id, Iq in the direct andquadrature phases, respectively. These feedback signals Id, Iq areapplied as inputs to error signal process 54, at error generators 32 d,32 q, for use in field-oriented control of motor M at high speeds.

According to this embodiment, low speed control is carried out by lowspeed state estimator function 42, in processes 65 and 66. If excitationsignals Vd_exc, Vq_exc are sinusoids or other waveforms that necessitatedemodulation in the feedback loop, demodulation process 65 is performedby low speed state estimator 42 to recover the responses to thoseexcitation signals Vd_exc, Vq_exc. However, as noted above, excitationsignals Vd_exc, Vq_exc in the form of square waves may be analyzedwithout demodulation at low speed state estimator 42.

Either after demodulation process 65 or if demodulation is not required,low speed state estimator 42 then generates new values of rotor angleestimate θ(n) and rotor velocity estimate {dot over (θ)}(n) in process66, according to the particular IPD algorithm implemented by low speedstate estimator. As discussed above and as described in theabove-incorporated copending application Ser. No. 14/245,206, process 66may be implemented by way of a “Luenberger observer” algorithm executedby low speed state estimator 42. The rotor angle estimate θ(n) recoveredin process 66 is applied as an input to Park transform processes 55, 64,and the rotor velocity estimate {dot over (θ)}(n) recovered in process66 is applied as an input to process 50 to generate quadrature phasereference signal Iqref, as discussed above. Upon receipt of those newestimates from this instance of process 66, the control loop processbegins again with process 50, generating new control signals, drivingmotor M over the next interval, with the response sampled and fed backas described above.

According to these disclosed embodiments, the injection of excitationsignals Vd_exc, Vq_exc and the measurement of the response of motor M tothat excitation is used to effect control of motor M at low speeds,namely those at which the back emf signal is not of adequate strength orfidelity to properly control the motor. Because this low speed controlis based on an injected excitation signal, the estimates of rotorposition and velocity do not depend on the speed of the motor. Thisallows the low speed control approach of these embodiments to be used toand through zero RPM speeds, including controlling motor M as itreverses direction. In addition, as discussed above, use of a squarewave excitation signal eliminates the need for demodulation of thesensed response, allowing the position and velocity estimation tooperate at much higher clock rates, which in turn enables the excitationsignal to be at frequencies beyond those audible to humans.

The process described above relative to FIG. 4, including the low speedcontrol loop, may be applied to motor M over all operating speeds.However, it is contemplated that the field-oriented control (FOC) willbe inaccurate at low speeds because of the poor back emf signal, asdiscussed above. Conversely, it is contemplated that the low speedcontrol loop based on the injected excitation signal will generally beunnecessary at higher speeds for which the back emf signal is adequate;in addition, it is contemplated that the excitation signal itself mayinterfere with the operation of motor M as the rotor speed approachesfrequencies near that of the excitation signal, in which case theexcitation signal can affect the motor drive signals. As such, it iscontemplated that MCU 20 will include the appropriate circuitry orprogram instructions to cause its operation to disable the low speedcontrol loop (i.e., low speed state estimator 42, and processes 53 and66) upon sensing a motor speed above a certain limit (e.g., some f_minat about 30 Hz), at which point conventional FOC will take over control.Conversely, MCU 20 may also include the appropriate circuitry or programinstructions to cause its operation to disable the FOC control loop(i.e., response of error generators 32 d, 32 q to feedback currents Id,Iq in process 52, or selection of a different control function inprocess 54 at PI controllers 34 d, 34 q) upon sensing a motor speedbelow that limit (e.g., some f_min at about 30 Hz), in which the lowspeed control loop via low speed state estimator 42 will control motorM.

It is contemplated that the switching of control from FOC to low speedcontrol on either side of a selected f_min for motor M can be readilyimplemented by those skilled in the art having reference to thisspecification, and that this simple switch of control functions can beadequate in some implementations. However, it is contemplated that itmay be advantageous to effect smooth and continuous control of theoperation of motor M over the entire range of its operating speeds(i.e., frequencies). According to another embodiment, MCU 20 of FIG. 2includes a control function that manages the transition between controlalgorithms, as will now be described relative to FIGS. 5 through 7.

FIG. 5 illustrates the functional architecture of such a field-orientedcontrol (FOC) motor control system, as may be implemented in thehardware architecture of FIG. 2, according to an embodiment thatincludes the control function for managing the transition betweencontrol algorithms. Those functions and signals in the architecture ofFIG. 5 that are identical to functions in the architecture of FIG. 3 areindicated by the same reference numerals and signal names as describedabove relative to FIG. 3.

The architecture of FIG. 5 includes multiple sources of feedback signalsinto the control system. One source of feedback signals is the set ofcurrent sample streams Iabc (corresponding to current sample streamsIa(n), Ib(n), Ic(n) of FIG. 3), which are produced by ADCs 26 andrepresent currents induced in the stator windings by the rotor of motorM as it rotates. These current sample streams Iabc are input to Clarketransform function 37a to produce spatially fixed α and β phase feedbacksignals Iαβ that are in turn input to Park transform function 39 a,which in turn produces direct and quadrature phase feedback currents Id,Iq, respectively. In this embodiment as shown in FIG. 5, the direct andquadrature phase feedback currents Id, Iq, are applied to errorgenerators 32 d, 32 q, respectively. Another feedback signal source arevoltage sample streams Vabc (representing three sample streams)corresponding to voltages sensed at each of the stator windings, anddigitized by ADCs 26. These voltage sample streams Vabc are input toClarke transform function 37 b to produce spatially fixed α and β phasefeedback signals Vαβ that are in turn input to Park transform function39 b, which produces direct and quadrature phase signal components Vdqrepresentative of the sensed voltages. Also in the architecture of FIG.5, an ADC 26 receives a signal from the voltage supply source, andproduces voltage sample stream Vbus corresponding to the voltage levelof the reference bus.

In the architecture of FIG. 5, the particular feedback signal or signalsinvolved in the control loop may be any of these current, voltage, andVbus signals, or alternatively may be some combination of those signals,if available in the particular implementation. The functionalarchitecture of FIG. 5 also includes high-speed state estimator 45,which receives direct and quadrature phase feedback currents Id, Iq, aswell as direct and quadrature phase signal components Vdq from Parktransform 39 b, and the Vbus voltage. It is contemplated that any one ofthese three types of feedback signals (i.e., current, voltage, Vbus)will be sufficient for performing the motor control function of thisembodiment; alternatively, a combination of two or more of those threefeedback signal types may be used in the operation of high-speed stateestimator function 45, depending on their availability in the particularimplementation and on the desired control algorithm.

In a hardware architecture such as shown in FIG. 2, high-speed stateestimator 45 constitutes a software function performed by processor unit22 executing corresponding program instructions stored in program memory24, to perform the appropriate operations on one or more of the current,voltage, and Vbus feedback signals to recover an rotor angle estimatesignal stream θ(n) and an rotor velocity estimate signal stream {dotover (θ)}(n), both continuing over time as additional samples areacquired and processed. In contrast to low-speed state estimatorfunction 42, which as described above recovers estimates of rotor angleand rotor velocity from the response of motor M to an injectedexcitation signal Vd_exc or Vq_exc as suitable for low-speed operation,high-speed state estimator 45 determines rotor angle and velocityaccording to a technique suitable for high-speed use, such as the backemf induced in the stator windings of motor M by rotation of the rotor.As described above, high-speed estimates such as that produced byhigh-speed state estimator 45 are typically not accurate at low motorspeeds, as the amplitude of the back emf at the motor windings is notsufficiently strong or stable for use in the control of the motor.Accordingly, for purposes of this description, it will be assumed thatthe rotor angle and velocity estimates produced by high-speed stateestimator 45 will be accurate at high motor speeds but less so at lowmotor speeds, and that the use of low-speed state estimator 42 toproduce rotor angle and velocity estimates will be desirable at lowmotor speeds but less so at high motor speeds.

Control of the transition between use of the estimates produced bylow-speed state estimator 42 and high-speed state estimator 45 ismanaged, in this embodiment, by angle/frequency selector function 50.Angle/frequency selector function 50 corresponds to a logic functionthat receives a rotor angle estimate θLS and a rotor velocity estimate{dot over (θ)}LS from low-speed state estimator 42, a rotor angleestimate θHS and rotor velocity estimate {dot over (θ)}HS fromhigh-speed state estimator 45, and also the motor speed input signal{dot over (θ)}ref that is also applied to speed controller 40. In thearrangement of FIG. 5, angle/frequency selector function 50 appliesthese inputs to a logic function to determine which pair of estimates,namely low-speed estimates θLS and {dot over (θ)}LS or high-speedestimates θHS and {dot over (θ)}HS, are to be forwarded as rotor angleestimate θ(n) to the forward and inverse Park transforms 36, 39, and asrotor velocity estimate {dot over (θ)}(n) to speed controller 40,respectively.

In a hardware architecture such as shown in FIG. 2, angle/frequencyselector function 50 constitutes a software function performed byprocessor unit 22 executing corresponding program instructions, storedin program memory 24, to perform the appropriate operations involved inits operation as described herein. By way of further explanation, FIG. 6is a functional block diagram illustrating functions withinangle/frequency selector function 50 that carry out this operation,according to one embodiment. Of course, those skilled in the art havingreference to this specification will be readily able to arrange theconstruction and functions of angle/frequency selector function 50 insuch alternative ways as useful and beneficial for particularimplementations, with such alternatives contemplated to be within thescope of the claims below.

In the example of the arrangement of FIG. 6, angle/frequency selectorfunction 50 operates in the manner of a state machine, as implemented bysequential logic function 52. Sequential logic function 52 determines acurrent selection state that defines the state of operation of the motorcontroller, in response to which selector function 54 selects eitherlow-speed estimates θLS and {dot over (θ)}LS or high-speed estimates θHSand {dot over (θ)}HS to be forwarded as rotor angle estimate θ(n) androtor velocity estimate {dot over (θ)}(n). According to this embodiment,the available selection states of sequential logic function 52 are:

“idle”;

low-speed (“LS”);

high-speed (“HS”);

“transition”.

As will become apparent below, the “transition” state refers to a stateof transition between the low-speed (LS) state and the high-speed (HS)state, in either direction. In some implementations, it may be desirableto have separate “transition” states for the LS-to-HS and HS-to-LStransition, particularly if the selection made by selector function 54is to differ according to the direction of the transition. The operationof sequential logic function 52 to determine the current selection statedepends upon the previous state of operation, shown in FIG. 6 as storedin previous state memory 53, and also on a signal from reference signalcomparator which compares the motor speed input signal {dot over (θ)}refwith certain threshold levels, as will be described in further detailbelow. In this example, enable/disable logic 58 issues enable signalLS_EN to selectively enable and disable low-speed state estimator 42,and enable signal HS_EN to selectively enable and disable high-speedstate estimator 45, both in response to the current selection state asdetermined by sequential logic 52 and to the results of the comparisonsdetermined by reference signal comparator 56. Signal comparator 56 mayinclude memory locations or registers that store the various thresholdsagainst which it compares motor speed input signal {dot over (θ)}ref, aswill be described below. Other control logic as appropriate to carry outthe operation of angle/frequency selector function 50 described belowwill also be included, as will be apparent to those skilled in the arthaving reference to this description.

Referring now to FIGS. 7 and 8, the operation of angle/frequencyselector function 50 according to an embodiment will now be described,specifically for the operational example in which motor M is started upfrom zero velocity to a variable high speed operation. FIG. 7illustrates this operation of sequential logic function 52 indetermining the current selection state, and causing enable/disablelogic 58 to selectively enable and disable low-speed state estimator 42and high-speed state estimator 45, while FIG. 8 illustrates theoperation of selector function 54 in selecting the pair of low-speedestimates θLS and {dot over (θ)}LS or high-speed estimates θHS and {dotover (θ)}HS to be forwarded. While sequential logic function 52 operatesas a state machine in this embodiment, the operation illustrated in FIG.7 is shown in the form of a flow chart for purposes of clarity; it iscontemplated that those skilled in the art having reference to thisspecification will be readily able to arrive at the appropriatesequential logic or instructions for implementing this operation,without undue experimentation. As such, angle/frequency selectorfunction 50 operates according to each of FIGS. 7 and 8, with the flowsillustrated in each being repeated (from their “start/repeat” operator)periodically or continually during operation of motor M.

The operation of angle/frequency selector function 50 begins in the“idle” state at startup of the motor, which is identified at decision 59of FIG. 7. In response to decision 59 returning a “yes” resultindicating that the current selection state is “idle”, angle/frequencyselector function 50 carries out an enable routine in process 60, by wayof which each of low-speed state estimator 42 and high-speed stateestimator 45 are initialized and enabled. For example, enable routine 60may be performed by first initializing high-speed estimates θHS and {dotover (θ)}HS to zero and causing enable logic 58 to issue enable signalHS_EN to high-speed state estimator 45, followed by initializinglow-speed estimates θLS and {dot over (θ)}LS to zero and causing enablelogic 58 to issue enable signal LS_EN to low-speed state estimator 42.In this enable routine 60, selector function 54 may also be initializedto set rotor angle estimate θ(n) to select the current value oflow-speed rotor angle estimate θLS and to set rotor velocity estimate{dot over (θ)}(n) to zero. In process 62, sequential logic 52 sets thecurrent selection state to the “LS” state.

The execution of selector function 54 with the current selection stateat “LS”, as set in process 62, follows the flow of FIG. 8. Decisions 83,85, 87 are executed to identify whether the current selection state is“transition”, “LS”, or “HS”, respectively. For a current selection stateof “LS” (decision 85 returns a “yes” result), selector function 54 iscontrolled in process 86 to select low-speed angle and velocityestimates θLS and {dot over (θ)}LS to be forwarded as rotor angleestimate θ(n) and rotor velocity estimate {dot over (θ)}(n),respectively.

In this example in which the operating speed of motor M is increasingfrom zero toward a variable high speed operating condition, updating ofthe selection state is performed by sequential logic 52 identifying thecurrent selection state as “LS” by decision 61 (FIG. 7) returning a“yes” result. Decision 63 is then executed by sequential logic 52 todetermine whether the motor speed input signal {dot over (θ)}ref exceedsa first threshold speed f_STRT. In the arrangement illustrated by way ofexample in FIG. 6, it is contemplated that this comparison decision 63(as well as the comparisons with other threshold speeds describedherein) will be based on the results of reference signal comparator 56.If decision 63 is “no”, indicating that the motor speed input signalθref does not exceed threshold speed f_STRT, the current selection stateremains at “LS”, and low-speed angle and velocity estimates {dot over(θ)}LS and {dot over (θ)}LS are forwarded as rotor angle estimate θ(n)and rotor velocity estimate {dot over (θ)}(n), respectively, as before.If motor speed input signal {dot over (θ)}ref exceeds threshold speedf_STRT, however (decision 63 is “yes”), sequential logic 52 sets thecurrent selection state to “transition” in process 64.

Referring to FIG. 8, the current selection state of “transition” isdetected in the execution flow by decision 83 returning a “yes” result.In this embodiment, the “transition” selection state causes selectorfunction 54 to forward low-speed angle and velocity estimates θLS andbas rotor angle estimate {dot over (θ)}(n) and rotor velocity estimate{dot over (θ)}(n), respectively, in process 86.

In the next iteration of the operation of sequential logic 52, the“transition” selection state is detected by decision 67 returning a“yes” result. Decision 69 is then next executed to compare the motorspeed input signal {dot over (θ)}ref to a second threshold speed f_STP.This threshold speed f_STP is higher than threshold speed f_STRT, and isselected to serve as an upper bound of the transition region fromlow-speed operation to high-speed operation. If motor speed input signal{dot over (θ)}ref does not exceed second threshold speed f_STP (decision69 is “no”), sequential logic 52 sets the current selection state to“LS” again, in process 66, and selector function 54 is again controlledin process 86 (FIG. 8) to forward low-speed angle and velocity estimatesθLS and {dot over (θ)}LS as rotor angle estimate θ(n) and rotor velocityestimate {dot over (θ)}(n), respectively. On the other hand, if motorspeed input signal {dot over (θ)}ref does exceed second threshold speedf_STP (decision 69 is “yes”), sequential logic 52 sets the currentselection state to “HS” in process 68.

Referring to the execution flow of FIG. 8, a current selection state of“HS” is detected by decision 87 returning a “yes” result. According tothis embodiment, in this event, decision 89 is executed byangle/frequency selector function 50 to determine whether low-speedstate estimator 42 is enabled. If so, selector function 54 is controlledto forward low-speed angle and velocity estimates θLS and {dot over(θ)}LS as rotor angle estimate θ(n) and rotor velocity estimate {dotover (θ)}(n), respectively, in process 86, even in this “HS” selectionstate. If low-speed state estimator 42 is not enabled, however (decision89 is “no”), selector function 54 is controlled to forward high-speedangle and velocity estimates θHS and {dot over (θ)}HS as rotor angleestimate θ(n) and rotor velocity estimate {dot over (θ)}(n),respectively, in process 88.

In the next state selection iteration, the “HS” selection state isindicated by decision 65 (FIG. 7) returning a “yes” decision. In thatevent, sequential logic 52 next determines whether motor speed inputsignal {dot over (θ)}ref exceeds a third threshold speed f_MAX, indecision 71. Threshold speed f_MAX is higher than second threshold speedf_STP in this embodiment. If so (decision 71 is “yes”), process 70 isthen executed to disable low-speed state estimator 42; the currentselection state remains “HS” in this event. As discussed immediatelyabove, this disabling of low-speed state estimator 42 causes selectorfunction 54 to forward high-speed angle and velocity estimates θHS and{dot over (θ)}HS as rotor angle estimate θ(n) and rotor velocityestimate {dot over (θ)}(n), respectively, in process 88 (FIG. 8). Ifmotor speed input signal {dot over (θ)}ref does not exceed thirdthreshold speed f_MAX (decision 71 is “no”), decision 73 then determineswhether low-speed state estimator 42 is enabled. If not (decision 73 is“no”), low-speed state estimator 42 has its low-speed angle and velocityestimates θLS and {dot over (θ)}LS “seeded” with the current values ofthe high-speed angle and velocity estimates θHS and {dot over (θ)}HS inprocess 74, and low-speed state estimator 42 is then enabled in process76. The “HS” selection state is retained in this event, and as suchselector function 54 will be controlled to forward low-speed angle andvelocity estimates θLS and {dot over (θ)}LS (having been seeded with thecurrent high-speed estimates) in the next instance of process 88 (FIG.8).

On the other hand, if low-speed state estimator 42 is already enabled,decision 77 is executed to determine whether motor speed input signal{dot over (θ)}ref has fallen below threshold speed f_STP. If not(decision 77 returns a “no”), the current selection state remains “HS”.If so (decision 77 returns a “yes”), the current selection state is setto “transition” in process 78.

According to this embodiment, the estimates of rotor angle and rotorvelocity produced by low-speed state estimator 42, for example basedupon an injection signal, and by high-speed state estimator 45, forexample based on back emf in the stator windings, are used in the motorcontrol loop in different operating regimes. Angle/frequency selectorfunction 50 in this embodiment provides a control algorithm thatsmoothly selects between the estimates from those two functions over theentire range from zero speed to the rated speed of the motor beingcontrolled. FIG. 9 illustrates this operation by way of a plot of motorspeed input signal {dot over (θ)}ref versus the selected measurementtechnique. As shown in FIG. 9, the low-speed angle and velocityestimates θLS and {dot over (θ)}LS are selected for values of motorspeed input signal {dot over (θ)}ref ranging from zero to thresholdspeed f_STP, and high-speed angle and velocity estimates θHS and {dotover (θ)}HS are selected for values of motor speed input signal {dotover (θ)}ref above threshold speed f_MAX. For values of motor speedinput signal {dot over (θ)}ref between threshold speed f_STP andthreshold speed f_MAX, the low-speed angle and velocity estimates θLSand {dot over (θ)}LS are selected if low-speed state estimator 42 isenabled, and high-speed angle and velocity estimates θHS and {dot over(θ)}HS are selected if not. The particular values of threshold speedsf_STP, f_STRT, and f_MAX will depend on the rated speed of motor M beingcontrolled, and the inertia of the motor and load, as well as thedesired control function; these values may be hard-coded into signalcomparator 56, or alternatively may be programmable levels, as desired.

Other factors facilitate the smooth transition of control between thelow-speed and high-speed estimates. One such factor is the “seeding” ofthe low-speed estimates with the current high-speed estimates uponre-enabling of the low-speed state estimator, for example as shown byprocess 74 of FIG. 7. This re-seeding eliminates a spike ordiscontinuity that could occur upon enabling of the low-speed stateestimator 42.

As evident from the foregoing description, the selection state decisionsare based on a comparison of motor speed input signal {dot over (θ)}refto the various threshold speeds f_STRT, f_STP, f_MAX. Alternatively, itis contemplated that the current selected rotor velocity estimate {dotover (θ)}(n) could be compared against the thresholds by signalcomparator 56. However, it is contemplated that comparison of the motorspeed input signal {dot over (θ)}ref to these thresholds will result insmoother control transitions, considering that this motor speed inputsignal {dot over (θ)}ref is typically generated by an externaltrajectory generator function, which is designed to smoothly modulatethe reference speed command over the desired range.

As evident from the foregoing description, this embodiment operates byselecting one or the other of the low-speed angle and velocity estimatesθLS and {dot over (θ)}LS or high-speed angle and velocity estimates θHSand {dot over (θ)}HS for use as rotor angle estimate θ(n) and rotorvelocity estimate {dot over (θ)}(n), respectively. This selectionresults in a computationally efficient control approach, as comparedwith control methods in which a weighting function or other computationinvolving both the low- and high-speed estimates is used as the controlestimates.

While one or more embodiments have been described in this specification,it is of course contemplated that modifications of, and alternatives to,these embodiments, such modifications and alternatives capable ofobtaining one or more the advantages and benefits of this invention,will be apparent to those of ordinary skill in the art having referenceto this specification and its drawings. It is contemplated that suchmodifications and alternatives are within the scope of this invention assubsequently claimed herein.

What is claimed is:
 1. A controller for a rotating AC electric machine,comprising: drive circuitry, for driving a multiphase electric machineresponsive to at least one control signal; feedback circuitry forproducing feedback signals responsive to electrical values received fromat least one sensor at the machine; a control loop, for producing the atleast one control signal to the drive circuitry responsive to thefeedback signals; and a low speed state estimator, having inputs coupledto receive the feedback signals, for injecting at least one excitationsignal into the control loop, and for estimating a velocity of themachine from a response of the machine to the excitation signal andcommunicating a control signal corresponding to the estimated velocityto the control loop.
 2. The controller of claim 1, wherein the drivecircuitry comprises: a three-phase inverter for driving three powerphase signals for application to the multiphase electric machine inresponse to the at least one control signal from the control loop. 3.The controller of claim 2, wherein the control loop comprises: at leastone transform function for producing direct and quadrature phasefeedback signals from the feedback signals; first and second errorgenerators, for producing direct and quadrature phase error signalsresponsive to a difference between the direct and quadrature phasefeedback signals, respectively, and respective reference signals; firstand second controllers, for producing direct and quadrature phasecontrol signals responsive to the direct and quadrature phase errorsignals; an inverse Park transform function for producing α and β phasecontrol signals responsive to the direct and quadrature phase controlsignals; and a space vector pulse width modulator function, forgenerating pulse width modulated signals for three power phases inresponse to the α and β phase control signals; wherein the three-phaseinverter drives the three power phase signals in response to the pulsewidth modulated signals.
 4. The controller of claim 3, furthercomprising: a speed controller function having an input receiving areference velocity signal and an input receiving the control signalcorresponding to the estimated velocity from the low speed stateestimator, and having an output presenting a modified reference velocitysignal to the second error generator; wherein the modified referencevelocity signal corresponds to a combination of the received referencevelocity signal and the estimated velocity signal; and wherein thesecond error generator generates the quadrature phase error signalcorresponding to a difference between the modified reference velocitysignal and the quadrature phase feedback signal.
 5. The controller ofclaim 3, wherein the excitation signal is injected into either or bothof the direct and quadrature phase control signals.
 6. The controller ofclaim 3, wherein the low speed state estimator is also for estimating aposition of the electric machine from the response of the machine to theexcitation signal.
 7. The controller of claim 1, wherein the excitationsignal represents a square wave.
 8. The controller of claim 7, whereinthe excitation signal represents a square wave at a frequency aboveaudible frequencies.
 9. The controller of claim 1, wherein theexcitation signal represents a signal that is above audible frequencies.10. The controller of claim 1, wherein the control loop and the lowspeed state estimator are comprised by: a programmable processor unit;and program memory storing program instructions that, when executed,cause the processor unit to: generate the excitation signal; estimatethe velocity of the machine from a response of the machine to theexcitation signal; and produce the at least one control signal to thedrive circuitry responsive to the multiphase feedback signals and to theestimated velocity of the machine.
 11. A method of controlling theoperation of a multiphase electric machine, comprising: driving theelectric machine, comprising: generating multiphase drive signalsresponsive to direct and quadrature phase control signals; applying thedrive signals to the machine; sensing electrical parameterscorresponding to rotation of the machine; transforming the sensedparameters into direct and quadrature phase feedback signals; generatingthe direct and quadrature phase control signals responsive to acomparison of the direct and quadrature phase feedback signals toreference signals; and repeating the generating, sensing, transforming,and generating steps; and during the driving step: combining aexcitation signal with one or both of the direct and quadrature phasefeedback signals; responsive to the direct and quadrature phase feedbacksignals, estimating a velocity of the machine corresponding to aresponse of the machine to the excitation signal; and producing aquadrature phase reference signal from a combination of the estimatedvelocity and a received velocity signal; wherein the step of generatingthe direct and quadrature phase control signals comprises: determining aquadrature phase error signal corresponding to a difference between thequadrature phase reference signal and the quadrature phase error signal;determining a direct phase error signal corresponding to a differencebetween a received direct phase reference signal and the direct phaseerror signal; and applying the direct phase error signal and thequadrature phase error signal to direct phase and quadrature phasecontroller functions, respectively, to produce the direct and quadraturephase control signals, respectively.
 12. The method of claim 11, whereinthe estimating and producing steps are performed responsive to thevelocity of the machine being below a selected frequency.
 13. The methodof claim 11, wherein the excitation signal represents substantially asquare wave.
 14. The method of claim 13, wherein the excitation signalrepresents a square wave at a frequency above audible frequencies. 15.The method of claim 11, wherein the excitation signal represents asignal at a frequency above audible frequencies.
 16. The method of claim11, wherein the transforming step comprises: digitizing the sensingelectrical parameters; executing a Clarke transform to produce α and βphase feedback signals responsive to the digitized sensed electricalparameters; executing a Park transform to produce the direct andquadrature phase feedback signals from the α and β phase feedbacksignals; and wherein the step of generating multiphase drive signalscomprises: executing an inverse Park transform function to produce α andβ phase control signals responsive to the direct and quadrature phasecontrol signals; and performing space vector pulse width modulation togenerate pulse width modulated multiphase drive signals in response tothe α and β phase control signals
 17. The method of claim 16, whereinthe step of producing the quadrature phase reference signal comprises:applying a received reference velocity signal and a signal correspondingto the estimated velocity to a control function to produce thequadrature phase reference signal.
 18. The method of claim 16, furthercomprising: responsive to the direct and quadrature phase feedbacksignals, estimating a position of the machine corresponding to aresponse of the machine to the excitation signal; and wherein the stepof executing an inverse Park transform function is performed alsoresponsive to the estimated position; and wherein the step of executinga Park transform function is performed also responsive to the estimatedposition.